package flex.cc.basicinformation.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import flex.cc.base.dto.LoginAuthDto;
import flex.cc.basicinformation.entity.ServiceConfigEntity;

/**
*
* @author WANGCONG
* 2022年2月23日下午15:04:11
* @desc 服务项目配置Service层
*/
public interface ServiceConfigService extends IService<ServiceConfigEntity>{

	/**
	*
	* @author WANGCONG
	* 2022年2月23日下午16:35:28
	* @desc 分页查询
	*/
	IPage<ServiceConfigEntity> queryListWithPage(ServiceConfigEntity vo);

	/**
	 *
	 * @author WANGCONG
	 * 2022年2月23日下午17:38:32
	 * @desc 切换状态
	 */
	boolean modifyStatus(ServiceConfigEntity configDto, LoginAuthDto loginAuthDto);

	/**
	 * 
	 * @author WANGCONG
	 * 2022年2月24日下午13:19:06
	 * @desc 根据主键查询
	 */
	ServiceConfigEntity queryByDataId(String dataId);

	/**
	 * 
	 * @author WANGCONG
	 * 2022年2月24日下午13:46:56
	 * @desc 服务项目配置保存
	 */
	void save(Map<String, Object> reqVo);

	/**
	 * 
	 * @author WANGCONG
	 * 2022年2月24日下午15:10:12
	 * @desc 服务项目配置保存前，唯一性校验
	 */
	boolean uniqueCheck(Map<String, Object> params);

	/**
	 * 
	 * @author R
	 * 2022年3月02日 13:11:56
	 * @desc 根据服务商获取服务项目并且剔除掉已经选过的服务项目
	 */
	List<ServiceConfigEntity> queryServiceByProvider(Map<String, Object> params);

	/**
	 * @description 根据查询参数查询一个
	 * @param params 查询参数
	 * @return
	 * @author wkangle
	 * @time 2022/03/02 0002 11:19
	 * @exception/throws
	 */
	ServiceConfigEntity getOneByParams(Map<String, Object> params);
}
